using Betfair.Api.Types;
using Newtonsoft.Json;

namespace Betfair.Api
{
    public sealed class ExchangeBestOffersOverride
    {
        public ExchangeBestOffersOverride(int depth, RollupModel rollupModel, int rollupLimit,
            double rollupLiabilityThreshold, double rollupLiabilityFactor)
        {
            Depth = depth;
            RollupModel = rollupModel;
            RollupLimit = rollupLimit;
            RollupLiabilityThreshold = rollupLiabilityThreshold;
            RollupLiabilityFactor = rollupLiabilityFactor;
        }

        [JsonProperty("bestPricesDepth")]
        public int Depth { get; private set; }

        [JsonProperty("rollupModel")]
        public RollupModel RollupModel { get; private set; }

        [JsonProperty("rollupLimit")]
        public int RollupLimit { get; private set; }

        [JsonProperty("rollupLiabilityThreshold")]
        public double RollupLiabilityThreshold { get; private set; }

        [JsonProperty("rollupLiabilityFactor")]
        public double RollupLiabilityFactor { get; private set; }
    }
}